<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>gui2py: Fichero Fuente build/lib.linux-x86_64-2.7/gui/controls/listview.py</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../edit.gif"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">gui2py
   &#160;<span id="projectnumber">0.9.3</span>
   </div>
   <div id="projectbrief">Interfaz de desarrollo de aplicaciones graficas</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generado por Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Buscar');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Página&#160;principal</span></a></li>
      <li><a href="../../namespaces.html"><span>Paquetes</span></a></li>
      <li><a href="../../annotated.html"><span>Clases</span></a></li>
      <li class="current"><a href="../../files.html"><span>Archivos</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../files.html"><span>Lista&#160;de&#160;archivos</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Todo</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Clases</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Archivos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Funciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Propiedades</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">listview.py</div>  </div>
</div><!--header-->
<div class="contents">
<a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py.html">Ir a la documentación de este archivo.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html">    1</a></span>&#160;<span class="comment">#!/usr/bin/python</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"># -*- coding: utf-8 -*-</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="stringliteral">&quot;gui2py&#39;s List Model-View-Controller control (uses wx.ListCtrl &amp; mixins)&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#ace7b78ce084e5835c24564d699006bdd">    6</a></span>&#160;__author__ = <span class="stringliteral">&quot;Mariano Reingart (reingart@gmail.com)&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#a869b10f2f995cf7a76998b9a3ae9663d">    7</a></span>&#160;__copyright__ = <span class="stringliteral">&quot;Copyright (C) 2013- Mariano Reingart&quot;</span>  <span class="comment"># where applicable</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"># Initial implementation was based on PythonCard&#39;s MultiColumnList component, </span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"># but redesigned and overhauled a lot (specs renamed, events refactorized, etc.)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"># Note: pythoncard version was trivial, Model and View code are completely new</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">import</span> wx</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="keyword">from</span> ..event <span class="keyword">import</span> FormEvent</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">from</span> ..component <span class="keyword">import</span> Control, SubComponent</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">from</span> ..spec <span class="keyword">import</span> Spec, EventSpec, InitSpec, StyleSpec, InternalSpec</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="keyword">from</span> .listbox <span class="keyword">import</span> ItemContainerControl</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">from</span> .. <span class="keyword">import</span> images </div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">from</span> .. <span class="keyword">import</span> registry</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">from</span> wx.lib.mixins.listctrl <span class="keyword">import</span> ColumnSorterMixin, ListCtrlAutoWidthMixin</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html">   24</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html">wx_ListCtrl</a>(wx.ListCtrl, ColumnSorterMixin, ListCtrlAutoWidthMixin):</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#afd63c40f9c7a3a0b0566bdc99fecbe92">   26</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#afd63c40f9c7a3a0b0566bdc99fecbe92">__init__</a>(self, *args,  **kwargs):</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        <span class="comment">#if &#39;max_columns&#39; in kwargs:</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        max_columns = kwargs.pop(<span class="stringliteral">&#39;max_columns&#39;</span>)</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        wx.ListCtrl.__init__(self, *args, **kwargs)</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="comment"># Now that the list exists we can init the other base class,</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <span class="comment"># see wxPython/lib/mixins/listctrl.py</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        ColumnSorterMixin.__init__(self, max_columns)</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="comment"># Perform init for AutoWidth (resizes the last column to take up</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="comment"># the remaining display width)</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        ListCtrlAutoWidthMixin.__init__(self)</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        </div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="comment"># maps for PyData support (like TreeCtrl)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">   39</a></span>&#160;        self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">_py_data_map</a> = {}</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa0479dabe2c0aa04a8b11ecdc58655ec">   40</a></span>&#160;        self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa0479dabe2c0aa04a8b11ecdc58655ec">_wx_data_map</a> = {}</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="comment"># Used by the wxColumnSorterMixin, see wxPython/lib/mixins/listctrl.py</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a3193ed642af3e3b12172460115329e25">   43</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a3193ed642af3e3b12172460115329e25">GetListCtrl</a>(self):</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keywordflow">return</span> self</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#ab009806b85833e4ab32e6b5109c77ecf">   46</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#ab009806b85833e4ab32e6b5109c77ecf">GetColumnSorter</a>(self):</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="stringliteral">&quot;&quot;&quot;Returns a callable object to be used for comparing column values when sorting.&quot;&quot;&quot;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a80ea2cd5327055b3f5118ee8ebec9d41">__ColumnSorter</a></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a863bd11eb439e087c923ead88289c707">   50</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a863bd11eb439e087c923ead88289c707">OnGetItemText</a>(self, item, col):</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keywordflow">if</span> self.obj <span class="keywordflow">and</span> self.obj._ongetitemdata:</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;            <span class="keywordflow">return</span> self.obj._ongetitemdata(item, col)</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="comment"># Allow to store arbitrary python data (like TreeCtrl PyData) </span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="comment"># (ListCtrl supports only long as item data type)</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment"># For more info see: http://wiki.wxpython.org/ListControls</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa467445da692f90e08ae39e16f1fa13c">   58</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa467445da692f90e08ae39e16f1fa13c">GetPyData</a>(self, item):</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="stringliteral">&quot;Returns the pyth item data associated with the item&quot;</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        wx_data = self.GetItemData(item)</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        py_data = self._py_data_map.get(wx_data)</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keywordflow">return</span> py_data</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a98d747540d5b9c683494b0d5be6b6d4d">   64</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a98d747540d5b9c683494b0d5be6b6d4d">SetPyData</a>(self, item, py_data):</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="stringliteral">&quot;Set the python item data associated wit the wx item&quot;</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        wx_data = wx.NewId()                           <span class="comment"># create a suitable key</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        self.SetItemData(item, wx_data)   <span class="comment"># store it in wx </span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">_py_data_map</a>[wx_data] = py_data           <span class="comment"># map it internally</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa0479dabe2c0aa04a8b11ecdc58655ec">_wx_data_map</a>[py_data] = wx_data           <span class="comment"># reverse map</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keywordflow">return</span> wx_data</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa120bb7dcf2057215b2e6abf9fae8dc1">   72</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa120bb7dcf2057215b2e6abf9fae8dc1">FindPyData</a>(self, start, py_data):</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="stringliteral">&quot;Do a reverse look up for an item containing the requested data&quot;</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="comment"># first, look at our internal dict:</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        wx_data = self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa0479dabe2c0aa04a8b11ecdc58655ec">_wx_data_map</a>[py_data]</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="comment"># do the real search at the wx control:</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keywordflow">return</span> self.FindItemData(start, wx_data)</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a815b882c385669eed0b7828acc611a42">   79</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a815b882c385669eed0b7828acc611a42">DeleteItem</a>(self, item):</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="stringliteral">&quot;Remove the item from the list and unset the related data&quot;</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        wx_data = self.GetItemData(item)</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        py_data = self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">_py_data_map</a>[wx_data]</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        del self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">_py_data_map</a>[wx_data]</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        del self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa0479dabe2c0aa04a8b11ecdc58655ec">_wx_data_map</a>[py_data]</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        wx.ListCtrl.DeleteItem(self, item)</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a5bb27ddc8600ad958ad83a9e240519a8">   87</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a5bb27ddc8600ad958ad83a9e240519a8">DeleteAllItems</a>(self):</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="stringliteral">&quot;Remove all the item from the list and unset the related data&quot;</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        self._py_data_map.clear()</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        self._wx_data_map.clear()</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        wx.ListCtrl.DeleteAllItems(self)</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a80ea2cd5327055b3f5118ee8ebec9d41">   93</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a80ea2cd5327055b3f5118ee8ebec9d41">__ColumnSorter</a>(self, wx_key1, wx_key2):</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        py_key1 = self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">_py_data_map</a>[wx_key1]</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        py_key2 = self.<a class="code" href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">_py_data_map</a>[wx_key2]</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">return</span> ColumnSorterMixin._ColumnSorterMixin__ColumnSorter(self, py_key1, py_key2)</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html">   99</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html">ListView</a>(Control):</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="stringliteral">&quot;A multi-column list (wx.ListCtrl)&quot;</span></div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad2787c08fb2b2cdd7ab34fc3df08a685">  102</a></span>&#160;    _wx_class = wx_ListCtrl</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aa02b045f4628058831a2146507ccc082">  103</a></span>&#160;    _style = wx.NO_FULL_REPAINT_ON_RESIZE | wx.CLIP_SIBLINGS</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aebe39b916227616a8cce80a796ae23e9">  104</a></span>&#160;    _image = images.list_ctrl</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a2c745c9014852d30d5d7133b53e68d6e">  106</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a2c745c9014852d30d5d7133b53e68d6e">__init__</a>(self, parent=None, **kwargs):</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="comment"># default sane values (if not init&#39;ed previously):</span></div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keywordflow">if</span> <span class="keywordflow">not</span> hasattr(self, <span class="stringliteral">&quot;_items&quot;</span>):</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a40e051d0829b6db6fb9892ba1dd0ec6c">  109</a></span>&#160;            self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a40e051d0829b6db6fb9892ba1dd0ec6c">_max_columns</a> = 99</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        Control.__init__(self, parent, **kwargs)</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="comment"># Emulate some listBox methods</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aea2a82b315aa9c4ee666cd104dd8b145">  114</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aea2a82b315aa9c4ee666cd104dd8b145">clear</a>(self):</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        self._items.clear()</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aee76d6e1ec5d8a4431d2b9120a3b0d82">  117</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aee76d6e1ec5d8a4431d2b9120a3b0d82">get_count</a>(self):</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="stringliteral">&quot;Get the item (row) count&quot;</span></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">return</span> self.wx_obj.GetItemCount()</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    </div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ac599d4ab75fc41d6802ce45a7a8ab52f">  121</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ac599d4ab75fc41d6802ce45a7a8ab52f">set_count</a>(self, value):</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="stringliteral">&quot;Set item (row) count -useful only in virtual mode-&quot;</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ab945f103c16b24ccea19171d1ce935e7">  123</a></span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ac0571c7577e9955a0e08997bacb66cfa">view</a> == <span class="stringliteral">&quot;report&quot;</span> <span class="keywordflow">and</span> self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aefd4438e11af0e7dd191fe1b3ef31051">virtual</a> <span class="keywordflow">and</span> value <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            self.wx_obj.SetItemCount(value)</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a69a38c676882c1fc023563e7ed061244">  126</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a69a38c676882c1fc023563e7ed061244">get_selected_items</a>(self):</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keywordflow">return</span> [it <span class="keywordflow">for</span> it <span class="keywordflow">in</span> self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a84edca3e15b43971779c77cff430c94f">items</a> <span class="keywordflow">if</span> it.selected]</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a480933bcaa8b198afe7f87603d6f2223">  129</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a480933bcaa8b198afe7f87603d6f2223">append</a>(self, a_list):</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad0103da4c8f6055a173449309b315046">insert_items</a>(a_list, self.wx_obj.GetItemCount())</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad0103da4c8f6055a173449309b315046">  132</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad0103da4c8f6055a173449309b315046">insert_items</a>(self, a_list, index=-1):</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keywordflow">if</span> <span class="keywordflow">not</span> isinstance(a_list, (list, tuple, dict)):</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;            <span class="keywordflow">raise</span> AttributeError(<span class="stringliteral">&quot;unsupported type, list expected&quot;</span>)</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordflow">elif</span> <span class="keywordflow">not</span> a_list:</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;            <span class="keywordflow">return</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="comment"># calculate the zero-based index position (-1 like python lists)</span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        index = max(self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aee76d6e1ec5d8a4431d2b9120a3b0d82">get_count</a>() + index + 1, 0) <span class="keywordflow">if</span> index &lt; 0 <span class="keywordflow">else</span> index</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keywordflow">if</span> isinstance(a_list, dict):</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            <span class="keywordflow">for</span> i, (key, a_item) <span class="keywordflow">in</span> enumerate(a_list.items()):</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                self._items.add(index + i, key, a_item)</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;            <span class="keywordflow">for</span> i, a_item <span class="keywordflow">in</span> enumerate(a_list):</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                self._items.add(index + i, <span class="keywordtype">None</span>, a_item)</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad038ccaf2043329eba4ed80311a4a1b8">  146</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad038ccaf2043329eba4ed80311a4a1b8">delete</a>(self, a_position):</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="stringliteral">&quot;Deletes the item at the zero-based index &#39;n&#39; from the control.&quot;</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        key = self.wx_obj.GetPyData(a_position)</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        del self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af0f59fd70b74aa90346c00f61d639ff3">_items</a>[key]</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ae0f8055cfae201d7ce4dd5e8a31c9244">  151</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ae0f8055cfae201d7ce4dd5e8a31c9244">_get_items</a>(self):</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af0f59fd70b74aa90346c00f61d639ff3">_items</a></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a23e4429df1a2e0fe5ae75184bf14da40">  154</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a23e4429df1a2e0fe5ae75184bf14da40">_set_items</a>(self, a_list):</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="keywordflow">if</span> a_list <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;            a_list = []</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <span class="keywordflow">elif</span> <span class="keywordflow">not</span> isinstance(a_list, (list, tuple, dict)):</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;            <span class="keywordflow">raise</span> AttributeError(<span class="stringliteral">&quot;unsupported type, list/tuple/dict expected&quot;</span>)</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af0f59fd70b74aa90346c00f61d639ff3">  160</a></span>&#160;        self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af0f59fd70b74aa90346c00f61d639ff3">_items</a> = <a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html">ListModel</a>(self)</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        self.wx_obj.itemDataMap = self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af0f59fd70b74aa90346c00f61d639ff3">_items</a></div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad0103da4c8f6055a173449309b315046">insert_items</a>(a_list)</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    </div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aa0adf4cb4a9fd214536fd890ffe0ace0">  165</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aa0adf4cb4a9fd214536fd890ffe0ace0">_get_sort_column</a>(self):</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keywordflow">return</span> self.wx_obj.GetSortState()[0]</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a026acda5001481f3d1f7e95afdafec25">  168</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a026acda5001481f3d1f7e95afdafec25">_set_sort_column</a>(self, col=None):</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af764e2fc18756a2e57b1b7133a69aef9">  169</a></span>&#160;        order = +1 <span class="keywordflow">if</span> self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a7ed92455ca63639ee882267915453d64">sort_order</a>==<span class="stringliteral">&#39;ascending&#39;</span> <span class="keywordflow">else</span> -1</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keywordflow">if</span> col <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;            wx.CallAfter(self.wx_obj.SortListItems, col, order)</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad93b2973593b8d8a3ad905fa3a1b700c">  173</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad93b2973593b8d8a3ad905fa3a1b700c">_get_column_headings</a>(self):</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="stringliteral">&quot;Return a list of children sub-components that are column headings&quot;</span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="comment"># return it in the same order as inserted in the ListCtrl</span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        headers = [ctrl <span class="keywordflow">for</span> ctrl <span class="keywordflow">in</span> self <span class="keywordflow">if</span> isinstance(ctrl, ListColumn)]</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keywordflow">return</span> sorted(headers, key=<span class="keyword">lambda</span> ch: ch.index)</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a0afe6c0297ea2256fdb51ff322fc49be">  179</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a0afe6c0297ea2256fdb51ff322fc49be">clear_all</a>(self):</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <span class="stringliteral">&quot;Remove all items and column headings&quot;</span></div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aea2a82b315aa9c4ee666cd104dd8b145">clear</a>()</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keywordflow">for</span> ch <span class="keywordflow">in</span> reversed(self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a88802a5c78a9d0cf57a6da9e07ba8597">columns</a>):</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;            del self[ch.name]</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="comment">#self.wx_obj.ClearAll()</span></div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ac0571c7577e9955a0e08997bacb66cfa">  186</a></span>&#160;    view = StyleSpec({<span class="stringliteral">&#39;report&#39;</span>: wx.LC_REPORT,</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                      <span class="stringliteral">&#39;list&#39;</span>: wx.LC_LIST,</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                      <span class="stringliteral">&#39;icon&#39;</span>: wx.LC_ICON,</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                      <span class="stringliteral">&#39;small icon&#39;</span>: wx.LC_SMALL_ICON}, default=<span class="stringliteral">&#39;report&#39;</span>) </div>
<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a32df671d0392318fe1c1ad4638812ba4">  190</a></span>&#160;    hrule = StyleSpec(wx.LC_HRULES, </div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                doc=<span class="stringliteral">&quot;Draws light horizontal rules between rows (report mode).&quot;</span>)</div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a6c0819ff53af09f8085289395edef6fa">  192</a></span>&#160;    vrule = StyleSpec(wx.LC_VRULES, </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                doc=<span class="stringliteral">&quot;Draws light vertical rules between rows (report mode).&quot;</span>)</div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af561048f2f7d8c719854188f338ad399">  194</a></span>&#160;    multiselect = StyleSpec({<span class="keyword">True</span>: 0, <span class="keyword">False</span>: wx.LC_SINGLE_SEL}, </div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                default=<span class="keyword">True</span>, doc=<span class="stringliteral">&quot;Allow multiple selection&quot;</span>)</div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aff864b10e2c980bfad1016a986bdede2">  196</a></span>&#160;    hide_headers = StyleSpec(wx.LC_NO_HEADER, default=<span class="keyword">False</span>,</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                        doc=<span class="stringliteral">&quot;No header in report mode&quot;</span>)</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    </div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aefd4438e11af0e7dd191fe1b3ef31051">  199</a></span>&#160;    virtual = StyleSpec(wx.LC_VIRTUAL, default=<span class="keyword">False</span>,</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;            doc=<span class="stringliteral">&quot;The application provides items text on demand (report mode)&quot;</span>)</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    </div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a9428d8a0d1da12c0dec27c1636cc2753">  202</a></span>&#160;    max_columns = InitSpec(<span class="keyword">lambda</span> self: self.<a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a40e051d0829b6db6fb9892ba1dd0ec6c">_max_columns</a>, default=99, </div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;                           doc=<span class="stringliteral">&quot;Maximum number of columns (for Sort mixin)&quot;</span>)</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    </div>
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a88802a5c78a9d0cf57a6da9e07ba8597">  205</a></span>&#160;    columns = InternalSpec(_get_column_headings,</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                           doc=<span class="stringliteral">&quot;Return a list of current column headers&quot;</span>)</div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a84edca3e15b43971779c77cff430c94f">  207</a></span>&#160;    items = InternalSpec(_get_items, _set_items)</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;   </div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a6f798ee6a413c4ceb99c8f84129cdfb1">  209</a></span>&#160;    item_count = Spec(get_count, set_count,</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        default=<span class="keywordtype">None</span>,</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        doc=<span class="stringliteral">&quot;indicate to the control the number of items it contains (virtual)&quot;</span>)</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    </div>
<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a7ed92455ca63639ee882267915453d64">  213</a></span>&#160;    sort_order = Spec(mapping={<span class="stringliteral">&#39;ascending&#39;</span>: wx.LC_SORT_ASCENDING,</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                               <span class="stringliteral">&#39;descending&#39;</span>: wx.LC_SORT_DESCENDING,}, </div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                      default=<span class="stringliteral">&#39;ascending&#39;</span>, _name=<span class="stringliteral">&quot;_sort_order&quot;</span>, type=<span class="stringliteral">&quot;enum&quot;</span>,</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;                      doc=<span class="stringliteral">&quot;Sort order (auto sort mixin)&quot;</span>)</div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#acca264d8bd0463e9d7f9b09d76da2700">  217</a></span>&#160;    sort_column = Spec(_get_sort_column, _set_sort_column,</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;                       doc=<span class="stringliteral">&quot;Column used in auto sort mixin&quot;</span>, type=<span class="stringliteral">&#39;integer&#39;</span>)</div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a1b1939c2e7658bf1afde5f9903661ef6">  219</a></span>&#160;    ongetitemdata = InternalSpec(_name=<span class="stringliteral">&quot;_ongetitemdata&quot;</span>,</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;                    default=<span class="keyword">lambda</span> row, col: <span class="stringliteral">&quot;row %d column %d&quot;</span> % (row, col),</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                    doc=<span class="stringliteral">&quot;Function to get the str for item/col (virtual mode)&quot;</span>)</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="comment"># events:</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a692033924122520840e8f82a12fc15a8">  224</a></span>&#160;    onitemselected = EventSpec(<span class="stringliteral">&#39;item_selected&#39;</span>, </div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                           binding=wx.EVT_LIST_ITEM_SELECTED, kind=FormEvent)</div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a3ce111d225a2e139cb2a3b306594446c">  226</a></span>&#160;    onitemactivated = EventSpec(<span class="stringliteral">&#39;item_activated&#39;</span>, </div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;                           binding=wx.EVT_LIST_ITEM_ACTIVATED, kind=FormEvent)</div>
<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad11f17b6e7e28990972a789b0b826ea5">  228</a></span>&#160;    onitemfocused = EventSpec(<span class="stringliteral">&#39;item_focused&#39;</span>, </div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                           binding=wx.EVT_LIST_ITEM_FOCUSED, kind=FormEvent)</div>
<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af3f7dd988007dc8261e55ebe2c1dd7b1">  230</a></span>&#160;    onitemcontext = EventSpec(<span class="stringliteral">&#39;item_context&#39;</span>, </div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                           binding=wx.EVT_LIST_ITEM_RIGHT_CLICK, kind=FormEvent)</div>
<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a6c99ed6fc63e67ea18a4ce92a2a38e04">  232</a></span>&#160;    onlistkeydown = EventSpec(<span class="stringliteral">&#39;list_key_down&#39;</span>, </div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                           binding=wx.EVT_LIST_KEY_DOWN, kind=FormEvent)</div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a84639ba0ed2d84e55c5573170dcac069">  234</a></span>&#160;    oncolumnclick = EventSpec(<span class="stringliteral">&#39;column_click&#39;</span>, </div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;                           binding=wx.EVT_LIST_COL_CLICK, kind=FormEvent)</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div>
<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html">  238</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html">ListColumn</a>(SubComponent):</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="stringliteral">&quot;ListView sub-component to handle heading, align and width of columns&quot;</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a62168c7170c7b83ef14150cff3898b9a">  241</a></span>&#160;    _created = <span class="keyword">False</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a101345b97c43165b29814ffa5572203c">  242</a></span>&#160;    _registry = registry.MISC</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    </div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a983a64b9d4d3972781617ccb1e069bd2">  244</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a983a64b9d4d3972781617ccb1e069bd2">set_parent</a>(self, new_parent, init=False):</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <span class="stringliteral">&quot;Associate the header to the control (it could be recreated)&quot;</span></div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a62168c7170c7b83ef14150cff3898b9a">_created</a> = <span class="keyword">False</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        SubComponent.set_parent(self, new_parent, init)</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="comment"># if index not given, append the column at the last position:</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a980ba1dc1b084e303260b0bc748d7fe4">  249</a></span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a> == -1 <span class="keywordflow">or</span> self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a> &gt; self._parent.wx_obj.GetColumnCount():</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;            self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a> = self._parent.wx_obj.GetColumnCount()</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <span class="comment"># insert the column in the listview:</span></div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        self._parent.wx_obj.InsertColumn(self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a>, self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a4df527e1f1b6482712effdeab91eae07">text</a>, self._align, </div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;                                         self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a3abb9afff9d7159c68def3878a5212da">width</a>)</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a62168c7170c7b83ef14150cff3898b9a">_created</a> = <span class="keyword">True</span>    <span class="comment"># enable setattr hook</span></div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a4cc04c9ba5e960a62b85e8cb95da6d47">  256</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a4cc04c9ba5e960a62b85e8cb95da6d47">__del__</a>(self):</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="stringliteral">&quot;Hook to remove the column from the wx ListCtrl when deleted&quot;</span> </div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a> <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;            <span class="comment"># remove the column from the list ctr</span></div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;            self._parent.wx_obj.DeleteColumn(self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a>)</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;            self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a> = <span class="keywordtype">None</span></div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;            <span class="comment"># renumerate index</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;            <span class="keywordflow">for</span> ctrl <span class="keywordflow">in</span> reversed(self._parent.columns):</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;                <span class="keywordflow">if</span> ctrl.index &gt; self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a>:</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;                    ctrl.index = ctrl.index - 1</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a2559da2a9319e74a25d9add208950889">  267</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a2559da2a9319e74a25d9add208950889">__setattr__</a>(self, name, value):</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="stringliteral">&quot;Hook to update the column information in wx&quot;</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        object.__setattr__(self, name, value)</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">if</span> name <span class="keywordflow">not</span> <span class="keywordflow">in</span> (<span class="stringliteral">&quot;_parent&quot;</span>, <span class="stringliteral">&quot;_created&quot;</span>) <span class="keywordflow">and</span> self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a62168c7170c7b83ef14150cff3898b9a">_created</a> <span class="keywordflow">and</span> self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a> <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            <span class="comment"># get the internal column info (a.k.a. wx.ListItem)</span></div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            info = self._parent.wx_obj.GetColumn(self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a>)</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;            <span class="keywordflow">if</span> name == <span class="stringliteral">&quot;_text&quot;</span>:</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                info.SetText(value)</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;            <span class="keywordflow">elif</span> name == <span class="stringliteral">&quot;_width&quot;</span>:</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                info.SetWidth(value)</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            <span class="keywordflow">elif</span> name == <span class="stringliteral">&quot;_align&quot;</span>:</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                info.SetAlign(value)</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;            self._parent.wx_obj.SetColumn(self.<a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">index</a>, info)     <span class="comment"># update it...</span></div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#ac9cbb6a123cf718941870e7ce091fae8">  281</a></span>&#160;    name = InitSpec(optional=<span class="keyword">False</span>, default=<span class="stringliteral">&quot;&quot;</span>, _name=<span class="stringliteral">&quot;_name&quot;</span>, type=<span class="stringliteral">&#39;string&#39;</span>)</div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a4df527e1f1b6482712effdeab91eae07">  282</a></span>&#160;    text = InitSpec(optional=<span class="keyword">False</span>, default=<span class="stringliteral">&quot;&quot;</span>, _name=<span class="stringliteral">&quot;_text&quot;</span>, type=<span class="stringliteral">&#39;string&#39;</span>)</div>
<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">  283</a></span>&#160;    index = InitSpec(optional=<span class="keyword">False</span>, default=-1, _name=<span class="stringliteral">&quot;_index&quot;</span>, type=<span class="stringliteral">&#39;integer&#39;</span>)</div>
<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a895738154e34838a368c420b73472ea4">  284</a></span>&#160;    align = InitSpec(mapping={<span class="stringliteral">&#39;left&#39;</span>: wx.LIST_FORMAT_LEFT,</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;                              <span class="stringliteral">&#39;center&#39;</span>: wx.LIST_FORMAT_CENTRE,</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;                              <span class="stringliteral">&#39;right&#39;</span>: wx.LIST_FORMAT_RIGHT}, </div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;                     default=<span class="stringliteral">&#39;left&#39;</span>, _name=<span class="stringliteral">&quot;_align&quot;</span>, type=<span class="stringliteral">&quot;enum&quot;</span>,</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;                     doc=<span class="stringliteral">&quot;Column Format&quot;</span>)</div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a3abb9afff9d7159c68def3878a5212da">  289</a></span>&#160;    width = InitSpec(default=wx.LIST_AUTOSIZE, _name=<span class="stringliteral">&quot;_width&quot;</span>, type=<span class="stringliteral">&quot;integer&quot;</span>,</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                     doc=<span class="stringliteral">&quot;Column width (default=autosize)&quot;</span>)</div>
<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#ac97d46c68f5650f4be68aeac2060e907">  291</a></span>&#160;    represent = InitSpec(default=<span class="keyword">lambda</span> v: v, _name=<span class="stringliteral">&quot;_represent&quot;</span>, type=<span class="stringliteral">&#39;string&#39;</span>,</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                     doc=<span class="stringliteral">&quot;function to returns a representation for the subitem&quot;</span>)</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html">  295</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html">ListModel</a>(dict):</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="stringliteral">&quot;ListView Items model map&quot;</span></div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    </div>
<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a5a3a13ee75f11a6babf8699f9e124d83">  298</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a5a3a13ee75f11a6babf8699f9e124d83">__init__</a>(self, _list_view):</div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#abe522080b06c936fc778f7a06aa66818">  299</a></span>&#160;        self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#abe522080b06c936fc778f7a06aa66818">_list_view</a> = _list_view</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ad7da537bd4818d5fbbeb278b0161341e">clear</a>()</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#acee88714f0e5773b3aef89977ab90389">  302</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#acee88714f0e5773b3aef89977ab90389">__setitem__</a>(self, key, kwargs):</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a592c196116530a743f66295e7324046c">add</a>(key=key, kwargs=kwargs)</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a592c196116530a743f66295e7324046c">  305</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a592c196116530a743f66295e7324046c">add</a>(self, index=-1, key=None, kwargs=None):</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        <span class="comment"># convert item to dict if given as list / str</span></div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        <span class="keywordflow">if</span> isinstance(kwargs, basestring):</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;            kwargs = [kwargs]</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <span class="keywordflow">if</span> isinstance(kwargs, list):</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            kwargs = dict([(col.name, kwargs[col.index]) <span class="keywordflow">for</span> col</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                          <span class="keywordflow">in</span> self._list_view.columns <span class="keywordflow">if</span> col.index&lt;len(kwargs)])</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <span class="keywordflow">if</span> key <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;            key = self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a63c994627bcb951456f987350fd9dccd">_new_key</a>()</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <span class="comment"># check if we have to update the ListCtrl:</span></div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        update = key <span class="keywordflow">in</span> self</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="comment"># create the new item</span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        item = <a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html">ListItem</a>(self, key, **kwargs)</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        dict.__setitem__(self, key, item)       <span class="comment"># add the key/value to the dict</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        <span class="keywordflow">if</span> update:</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a27ece9d19a94340515fd40a5360f9fc8">_update</a>(key)</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a422d19fd7cea2896293867dbf10ac916">_insert</a>(key, index)            <span class="comment"># do the insert in the control</span></div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        <span class="keywordflow">return</span> item</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#af2d3461e78f0b4b7f8c8790583eddb23">  325</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#af2d3461e78f0b4b7f8c8790583eddb23">__delitem__</a>(self, key):</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        dict.__delitem__(self, key)</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        index = self._list_view.wx_obj.FindPyData(-1, key)</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <span class="keywordflow">if</span> index &gt;= 0:</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;            self._list_view.wx_obj.DeleteItem(index)</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div>
<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ad01904968cdf87210a2459918b692fd2">  331</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ad01904968cdf87210a2459918b692fd2">__call__</a>(self, index=None):</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        <span class="keywordflow">if</span> index <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;            <span class="keywordflow">if</span> index &lt; 0:</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;                index = max(len(self) + index, 0)</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;            key = self._list_view.wx_obj.GetPyData(index)</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;            <span class="keywordflow">return</span> self[key]</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;            <span class="keywordflow">return</span> self.items()  <span class="comment"># shortcut!</span></div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#adc708fd7ce0b1e630c31323f2b72287d">  340</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#adc708fd7ce0b1e630c31323f2b72287d">__iter__</a>(self):</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="keywordflow">return</span> self.itervalues()</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;</div>
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a63c994627bcb951456f987350fd9dccd">  343</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a63c994627bcb951456f987350fd9dccd">_new_key</a>(self):</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="stringliteral">&quot;Create a unique key for this list control (currently: just a counter)&quot;</span></div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ac82001854e9f5419362f274755cb9974">_key</a> += 1</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ac82001854e9f5419362f274755cb9974">_key</a></div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div>
<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a422d19fd7cea2896293867dbf10ac916">  348</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a422d19fd7cea2896293867dbf10ac916">_insert</a>(self, key, index=-1):</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        <span class="keywordflow">if</span> index &lt;0:</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;            index = self._list_view.wx_obj.GetItemCount()   <span class="comment"># append it</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keywordflow">for</span> col <span class="keywordflow">in</span> sorted(self._list_view.columns, key=<span class="keyword">lambda</span> col: col.index):</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;            <span class="keywordflow">if</span> <span class="keywordflow">not</span> col.name <span class="keywordflow">in</span> self[key]:</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                <span class="keywordflow">continue</span></div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;            text = self[key][col.name]</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;            <span class="keywordflow">if</span> <span class="keywordflow">not</span> isinstance(text, basestring):</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                <span class="keywordflow">if</span> callable(col.represent):</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                    text = col.represent(text)</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                    text = col.represent % text     <span class="comment"># use as format</span></div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;            <span class="keywordflow">if</span> col.index == 0:</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                <span class="keywordflow">if</span> wx.VERSION &lt; (2, 9, 5) <span class="keywordflow">or</span> <span class="stringliteral">&#39;classic&#39;</span> <span class="keywordflow">in</span> wx.version():</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;                    self._list_view.wx_obj.InsertStringItem(index, text)</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;                <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;                    self._list_view.wx_obj.InsertItem(index, text)</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;            <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;                self._list_view.wx_obj.SetStringItem(index, col.index, text)</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <span class="comment"># update internal data, used by ColumnSorterMixin</span></div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        self._list_view.wx_obj.SetPyData(index, key)</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    </div>
<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a27ece9d19a94340515fd40a5360f9fc8">  370</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a27ece9d19a94340515fd40a5360f9fc8">_update</a>(self, key, name=None):</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        index = self._list_view.wx_obj.FindPyData(-1, key)</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <span class="keywordflow">for</span> col <span class="keywordflow">in</span> sorted(self._list_view.columns, key=<span class="keyword">lambda</span> col: col.index):</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;            <span class="keywordflow">if</span> <span class="keywordflow">not</span> col.name <span class="keywordflow">in</span> self[key]:</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                <span class="keywordflow">continue</span></div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            text = self[key][col.name]</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;            <span class="keywordflow">if</span> <span class="keywordflow">not</span> isinstance(text, basestring):</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;                text = col.represent(text)</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;            self._list_view.wx_obj.SetStringItem(index, col.index, text)</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div>
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ad7da537bd4818d5fbbeb278b0161341e">  380</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ad7da537bd4818d5fbbeb278b0161341e">clear</a>(self):</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        <span class="stringliteral">&quot;Remove all items and reset internal structures&quot;</span></div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        dict.clear(self)</div>
<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ac82001854e9f5419362f274755cb9974">  383</a></span>&#160;        self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ac82001854e9f5419362f274755cb9974">_key</a> = 0</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        <span class="keywordflow">if</span> hasattr(self.<a class="code" href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#abe522080b06c936fc778f7a06aa66818">_list_view</a>, <span class="stringliteral">&quot;wx_obj&quot;</span>):</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;            self._list_view.wx_obj.DeleteAllItems()</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html">  388</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html">ListItem</a>(dict):</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="stringliteral">&quot;keys are column names, values are subitem values&quot;</span></div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div>
<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#aac68cfb4ad11dec6bdd8e0e05379345e">  391</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#aac68cfb4ad11dec6bdd8e0e05379345e">__init__</a>(self, list_model, key, **kwargs):</div>
<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a3ee5690d00974beffffc3f5b1c89d40c">  392</a></span>&#160;        self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a3ee5690d00974beffffc3f5b1c89d40c">_list_model</a> = list_model</div>
<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ad28150aec979ec4949a11a0d8086fe2e">  393</a></span>&#160;        self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ad28150aec979ec4949a11a0d8086fe2e">key</a> = key</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        dict.__init__(self, **kwargs)</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a7fc18cf35910a5b5679e4d6053a8098a">  396</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a7fc18cf35910a5b5679e4d6053a8098a">__setitem__</a>(self, key, value):</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <span class="comment"># if key is a column index, get the actual column name to look up:</span></div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        <span class="keywordflow">if</span> <span class="keywordflow">not</span> isinstance(key, basestring):</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;            key = self._list_model._list_view.columns[key].name</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        <span class="comment"># store the value and notify our parent to refresh the item</span></div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        dict.__setitem__(self, key, value)</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        self._list_model._update(self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ad28150aec979ec4949a11a0d8086fe2e">key</a>, key)</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ac04ffbbd78365518cb7a7079556450db">  404</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ac04ffbbd78365518cb7a7079556450db">__getitem__</a>(self, key):</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        <span class="comment"># if key is a column index, get the actual column name to look up:</span></div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        <span class="keywordflow">if</span> <span class="keywordflow">not</span> isinstance(key, basestring):</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;            key = self._list_model._list_view.columns[key].name</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        <span class="comment"># return the data for the given column, None if nothing there</span></div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        <span class="keywordflow">return</span> dict.get(self, key)</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    @property</div>
<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab7c04bcec4b5a10acdbd51a026f777f9">  412</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab7c04bcec4b5a10acdbd51a026f777f9">index</a>(self):</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="stringliteral">&quot;Get the actual position (can vary due insertion/deletions and sorting)&quot;</span></div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        <span class="keywordflow">return</span> self._list_model._list_view.wx_obj.FindPyData(-1, self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ad28150aec979ec4949a11a0d8086fe2e">key</a>)</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div>
<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a1a8ceaeaf052a49163529cd2a57888e6">  416</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a1a8ceaeaf052a49163529cd2a57888e6">_is_selected</a>(self):</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        <span class="keywordflow">return</span> self._list_model._list_view.wx_obj.IsSelected(self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab7c04bcec4b5a10acdbd51a026f777f9">index</a>)</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    </div>
<div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#afffd1a14d11d182e0e42972b74949b1f">  419</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#afffd1a14d11d182e0e42972b74949b1f">_select</a>(self, on):</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        self._list_model._list_view.wx_obj.Select(self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab7c04bcec4b5a10acdbd51a026f777f9">index</a>, on)</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;</div>
<div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a91556606186d3f1d1ed5fbffce51b143">  422</a></span>&#160;    selected = property(_is_selected, _select)</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a9455e285cf83a94fa1759224d8d593e0">  424</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a9455e285cf83a94fa1759224d8d593e0">ensure_visible</a>(self):</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        self._list_model._list_view.wx_obj.EnsureVisible(self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab7c04bcec4b5a10acdbd51a026f777f9">index</a>)</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        </div>
<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab2f5effe69dc112deaa9ae30eebb518c">  427</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab2f5effe69dc112deaa9ae30eebb518c">focus</a>(self):</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        self._list_model._list_view.wx_obj.Focus(self.<a class="code" href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab7c04bcec4b5a10acdbd51a026f777f9">index</a>)</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="comment"># update metadata for the add context menu at the designer:</span></div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;ListView._meta.valid_children = [ListColumn, ] </div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keywordflow">if</span> __name__ == <span class="stringliteral">&quot;__main__&quot;</span>:</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <span class="keyword">import</span> sys</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="comment"># basic test until unit_test</span></div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="keyword">import</span> gui</div>
<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#ab5159e59483f0c966c22e6dedf2a29b1">  440</a></span>&#160;    app = wx.App(redirect=<span class="keyword">False</span>)    </div>
<div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#aef711f4cc01916ad66d3fcfc5eab7072">  441</a></span>&#160;    w = gui.Window(title=<span class="stringliteral">&quot;hello world&quot;</span>, name=<span class="stringliteral">&quot;frmTest&quot;</span>, tool_window=<span class="keyword">False</span>, </div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;               resizable=<span class="keyword">True</span>, visible=<span class="keyword">False</span>, pos=(180, 0))</div>
<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#a54179a007fc8cf36ec5cb789f512e93b">  443</a></span>&#160;    lv = <a class="code" href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html">ListView</a>(w, name=<span class="stringliteral">&quot;listview&quot;</span>, view=<span class="stringliteral">&quot;report&quot;</span>, vrule=<span class="keyword">True</span>, hrule=<span class="keyword">True</span>,</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;                  multiselect=<span class="stringliteral">&quot;--multiselect&quot;</span> <span class="keywordflow">in</span> sys.argv)</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div>
<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#aa6886c3d673f8c4d282bda41d0b64242">  446</a></span>&#160;    ch1 = <a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html">ListColumn</a>(lv, name=<span class="stringliteral">&quot;col1&quot;</span>, text=<span class="stringliteral">&quot;Col 1&quot;</span>, align=<span class="stringliteral">&quot;left&quot;</span>, width=200)</div>
<div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#af313ed2ce4109ebe2becd4758a70de71">  447</a></span>&#160;    ch2 = <a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html">ListColumn</a>(lv, name=<span class="stringliteral">&quot;col2&quot;</span>, text=<span class="stringliteral">&quot;Col 2&quot;</span>, align=<span class="stringliteral">&quot;center&quot;</span>)</div>
<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="../../da/d05/namespacegui_1_1controls_1_1listview.html#a4f490efe31d79937f14ff7eeae998afc">  448</a></span>&#160;    ch3 = <a class="code" href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html">ListColumn</a>(lv, name=<span class="stringliteral">&quot;col3&quot;</span>, text=<span class="stringliteral">&quot;Col 3&quot;</span>, align=<span class="stringliteral">&quot;right&quot;</span>, width=100)</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    ch1.represent = ch2.represent = <span class="keyword">lambda</span> value: str(value)</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    ch3.represent = <span class="keyword">lambda</span> value: <span class="stringliteral">&quot;%0.2f&quot;</span> % value</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    lv.items = [[1, 2, 3], [<span class="stringliteral">&#39;4&#39;</span>, <span class="stringliteral">&#39;5&#39;</span>, 6], [<span class="stringliteral">&#39;7&#39;</span>, <span class="stringliteral">&#39;8&#39;</span>, 9]]</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    lv.insert_items([[<span class="stringliteral">&#39;a&#39;</span>, <span class="stringliteral">&#39;b&#39;</span>, <span class="stringliteral">&#39;c&#39;</span>]])</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    <span class="comment">#lv.append(&quot;d&quot;)</span></div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    <span class="comment">#lv.append(&quot;e&quot;, &quot;datum1&quot;)</span></div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <span class="comment">#lv.data_selection = &quot;datum2&quot;</span></div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <span class="keyword">from</span> pprint <span class="keyword">import</span> pprint</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    <span class="comment"># assign some event handlers:</span></div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    lv.onitemselected = <span class="keyword">lambda</span> event: pprint(<span class="stringliteral">&quot;selection: %s&quot;</span> % str(event.target.get_selected_items()))</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    w.show()</div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    <span class="comment">#import wx.lib.inspection</span></div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="comment">#wx.lib.inspection.InspectionTool().Show()</span></div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    </div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="comment">#  basic tests</span></div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keyword">assert</span> lv.get_count() == 4</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    lv.items(1).selected = <span class="keyword">True</span></div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="comment"># check that internal selection match:</span></div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="keyword">assert</span> lv.get_selected_items() == [{<span class="stringliteral">&#39;col2&#39;</span>: <span class="stringliteral">&#39;5&#39;</span>, <span class="stringliteral">&#39;col3&#39;</span>: 6, <span class="stringliteral">&#39;col1&#39;</span>: <span class="stringliteral">&#39;4&#39;</span>}]</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    </div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="keywordflow">if</span> <span class="stringliteral">&#39;--virtual&#39;</span> <span class="keywordflow">in</span> sys.argv:</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        lv.virtual = <span class="keyword">True</span></div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        <span class="comment">#lv.ongetitemdata = lambda item, col: &quot;row %d, col %d&quot; % (item, col)</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        lv.item_count = 10000000</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    </div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    lv.delete(0)</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="comment"># basic test of item model</span></div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    lv.items(-1)[<span class="stringliteral">&#39;col3&#39;</span>] = <span class="stringliteral">&quot;column 3!&quot;</span></div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="keyword">assert</span> lv.items(-1)[2] == <span class="stringliteral">&quot;column 3!&quot;</span></div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="keyword">assert</span> lv.items(2)[2] == <span class="stringliteral">&quot;column 3!&quot;</span></div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    </div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    lv.items[2].selected = <span class="keyword">True</span></div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    lv.items[3].ensure_visible()</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    lv.items[3].focus()</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    </div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    ch1.text = <span class="stringliteral">&quot;Hello!&quot;</span></div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    ch2.align = <span class="stringliteral">&quot;center&quot;</span></div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    lv.insert_items([[<span class="stringliteral">&#39;a&#39;</span>, <span class="stringliteral">&#39;b&#39;</span>, <span class="stringliteral">&#39;c&#39;</span>]], 0)       <span class="comment"># add as first item</span></div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    lv.insert_items([[<span class="stringliteral">&#39;x&#39;</span>, <span class="stringliteral">&#39;y&#39;</span>, <span class="stringliteral">&#39;z&#39;</span>]], -1)      <span class="comment"># add as last item</span></div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keyword">assert</span> lv.items(0)[0] == <span class="stringliteral">&quot;a&quot;</span></div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keyword">assert</span> lv.items(len(lv.items)-1)[0] == <span class="stringliteral">&quot;x&quot;</span></div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    </div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <span class="comment"># test PyData keys:</span></div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    lv.items[<span class="stringliteral">&#39;key&#39;</span>] = [99, 98, 97]</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="keyword">assert</span> lv.items[<span class="stringliteral">&#39;key&#39;</span>] == {<span class="stringliteral">&#39;col2&#39;</span>: 98, <span class="stringliteral">&#39;col3&#39;</span>: 97, <span class="stringliteral">&#39;col1&#39;</span>: 99}</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    </div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    <span class="keyword">from</span> <a class="code" href="../../d4/d72/namespacegui_1_1tools_1_1inspector.html">gui.tools.inspector</a> <span class="keyword">import</span> InspectorTool</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    <a class="code" href="../../df/da2/classgui_1_1tools_1_1inspector_1_1InspectorTool.html">InspectorTool</a>().show(w)</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    app.MainLoop()</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_aac68cfb4ad11dec6bdd8e0e05379345e"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#aac68cfb4ad11dec6bdd8e0e05379345e">gui.controls.listview.ListItem.__init__</a></div><div class="ttdeci">def __init__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00391">listview.py:391</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html_a14bda482f7a996c09734f2f2ef39d47c"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a14bda482f7a996c09734f2f2ef39d47c">gui.controls.listview.ListColumn.index</a></div><div class="ttdeci">tuple index</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00283">listview.py:283</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_aee76d6e1ec5d8a4431d2b9120a3b0d82"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aee76d6e1ec5d8a4431d2b9120a3b0d82">gui.controls.listview.ListView.get_count</a></div><div class="ttdeci">def get_count</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00117">listview.py:117</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html_a3abb9afff9d7159c68def3878a5212da"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a3abb9afff9d7159c68def3878a5212da">gui.controls.listview.ListColumn.width</a></div><div class="ttdeci">tuple width</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00289">listview.py:289</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_ab009806b85833e4ab32e6b5109c77ecf"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#ab009806b85833e4ab32e6b5109c77ecf">gui.controls.listview.wx_ListCtrl.GetColumnSorter</a></div><div class="ttdeci">def GetColumnSorter</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00046">listview.py:46</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_a5a3a13ee75f11a6babf8699f9e124d83"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a5a3a13ee75f11a6babf8699f9e124d83">gui.controls.listview.ListModel.__init__</a></div><div class="ttdeci">def __init__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00298">listview.py:298</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a69a38c676882c1fc023563e7ed061244"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a69a38c676882c1fc023563e7ed061244">gui.controls.listview.ListView.get_selected_items</a></div><div class="ttdeci">def get_selected_items</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00126">listview.py:126</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_aa0adf4cb4a9fd214536fd890ffe0ace0"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aa0adf4cb4a9fd214536fd890ffe0ace0">gui.controls.listview.ListView._get_sort_column</a></div><div class="ttdeci">def _get_sort_column</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00165">listview.py:165</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html_a4cc04c9ba5e960a62b85e8cb95da6d47"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a4cc04c9ba5e960a62b85e8cb95da6d47">gui.controls.listview.ListColumn.__del__</a></div><div class="ttdeci">def __del__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00256">listview.py:256</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html_a983a64b9d4d3972781617ccb1e069bd2"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a983a64b9d4d3972781617ccb1e069bd2">gui.controls.listview.ListColumn.set_parent</a></div><div class="ttdeci">def set_parent</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00244">listview.py:244</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_a5bb27ddc8600ad958ad83a9e240519a8"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a5bb27ddc8600ad958ad83a9e240519a8">gui.controls.listview.wx_ListCtrl.DeleteAllItems</a></div><div class="ttdeci">def DeleteAllItems</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00087">listview.py:87</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_ad93b2973593b8d8a3ad905fa3a1b700c"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad93b2973593b8d8a3ad905fa3a1b700c">gui.controls.listview.ListView._get_column_headings</a></div><div class="ttdeci">def _get_column_headings</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00173">listview.py:173</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_ad038ccaf2043329eba4ed80311a4a1b8"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad038ccaf2043329eba4ed80311a4a1b8">gui.controls.listview.ListView.delete</a></div><div class="ttdeci">def delete</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00146">listview.py:146</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_a27ece9d19a94340515fd40a5360f9fc8"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a27ece9d19a94340515fd40a5360f9fc8">gui.controls.listview.ListModel._update</a></div><div class="ttdeci">def _update</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00370">listview.py:370</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a026acda5001481f3d1f7e95afdafec25"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a026acda5001481f3d1f7e95afdafec25">gui.controls.listview.ListView._set_sort_column</a></div><div class="ttdeci">def _set_sort_column</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00168">listview.py:168</a></div></div>
<div class="ttc" id="classgui_1_1tools_1_1inspector_1_1InspectorTool_html"><div class="ttname"><a href="../../df/da2/classgui_1_1tools_1_1inspector_1_1InspectorTool.html">gui.tools.inspector.InspectorTool</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d7/da5/build_2lib_8linux-x86__64-2_87_2gui_2tools_2inspector_8py_source.html#l00281">inspector.py:281</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_a422d19fd7cea2896293867dbf10ac916"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a422d19fd7cea2896293867dbf10ac916">gui.controls.listview.ListModel._insert</a></div><div class="ttdeci">def _insert</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00348">listview.py:348</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a88802a5c78a9d0cf57a6da9e07ba8597"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a88802a5c78a9d0cf57a6da9e07ba8597">gui.controls.listview.ListView.columns</a></div><div class="ttdeci">tuple columns</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00205">listview.py:205</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_ad0103da4c8f6055a173449309b315046"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ad0103da4c8f6055a173449309b315046">gui.controls.listview.ListView.insert_items</a></div><div class="ttdeci">def insert_items</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00132">listview.py:132</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_a9455e285cf83a94fa1759224d8d593e0"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a9455e285cf83a94fa1759224d8d593e0">gui.controls.listview.ListItem.ensure_visible</a></div><div class="ttdeci">def ensure_visible</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00424">listview.py:424</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html_a62168c7170c7b83ef14150cff3898b9a"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a62168c7170c7b83ef14150cff3898b9a">gui.controls.listview.ListColumn._created</a></div><div class="ttdeci">_created</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00241">listview.py:241</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_afd63c40f9c7a3a0b0566bdc99fecbe92"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#afd63c40f9c7a3a0b0566bdc99fecbe92">gui.controls.listview.wx_ListCtrl.__init__</a></div><div class="ttdeci">def __init__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00026">listview.py:26</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a84edca3e15b43971779c77cff430c94f"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a84edca3e15b43971779c77cff430c94f">gui.controls.listview.ListView.items</a></div><div class="ttdeci">tuple items</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00207">listview.py:207</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_aa467445da692f90e08ae39e16f1fa13c"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa467445da692f90e08ae39e16f1fa13c">gui.controls.listview.wx_ListCtrl.GetPyData</a></div><div class="ttdeci">def GetPyData</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00058">listview.py:58</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html_a4df527e1f1b6482712effdeab91eae07"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a4df527e1f1b6482712effdeab91eae07">gui.controls.listview.ListColumn.text</a></div><div class="ttdeci">tuple text</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00282">listview.py:282</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_abe522080b06c936fc778f7a06aa66818"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#abe522080b06c936fc778f7a06aa66818">gui.controls.listview.ListModel._list_view</a></div><div class="ttdeci">_list_view</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00299">listview.py:299</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a2c745c9014852d30d5d7133b53e68d6e"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a2c745c9014852d30d5d7133b53e68d6e">gui.controls.listview.ListView.__init__</a></div><div class="ttdeci">def __init__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00106">listview.py:106</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html_a2559da2a9319e74a25d9add208950889"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html#a2559da2a9319e74a25d9add208950889">gui.controls.listview.ListColumn.__setattr__</a></div><div class="ttdeci">def __setattr__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00267">listview.py:267</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_a863bd11eb439e087c923ead88289c707"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a863bd11eb439e087c923ead88289c707">gui.controls.listview.wx_ListCtrl.OnGetItemText</a></div><div class="ttdeci">def OnGetItemText</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00050">listview.py:50</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_aa120bb7dcf2057215b2e6abf9fae8dc1"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa120bb7dcf2057215b2e6abf9fae8dc1">gui.controls.listview.wx_ListCtrl.FindPyData</a></div><div class="ttdeci">def FindPyData</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00072">listview.py:72</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_aefd4438e11af0e7dd191fe1b3ef31051"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aefd4438e11af0e7dd191fe1b3ef31051">gui.controls.listview.ListView.virtual</a></div><div class="ttdeci">tuple virtual</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00199">listview.py:199</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_a80ea2cd5327055b3f5118ee8ebec9d41"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a80ea2cd5327055b3f5118ee8ebec9d41">gui.controls.listview.wx_ListCtrl.__ColumnSorter</a></div><div class="ttdeci">def __ColumnSorter</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00093">listview.py:93</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_aea2a82b315aa9c4ee666cd104dd8b145"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#aea2a82b315aa9c4ee666cd104dd8b145">gui.controls.listview.ListView.clear</a></div><div class="ttdeci">def clear</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00114">listview.py:114</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_ac82001854e9f5419362f274755cb9974"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ac82001854e9f5419362f274755cb9974">gui.controls.listview.ListModel._key</a></div><div class="ttdeci">_key</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00383">listview.py:383</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html">gui.controls.listview.ListItem</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00388">listview.py:388</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_a815b882c385669eed0b7828acc611a42"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a815b882c385669eed0b7828acc611a42">gui.controls.listview.wx_ListCtrl.DeleteItem</a></div><div class="ttdeci">def DeleteItem</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00079">listview.py:79</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_a3193ed642af3e3b12172460115329e25"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a3193ed642af3e3b12172460115329e25">gui.controls.listview.wx_ListCtrl.GetListCtrl</a></div><div class="ttdeci">def GetListCtrl</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00043">listview.py:43</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_ac599d4ab75fc41d6802ce45a7a8ab52f"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ac599d4ab75fc41d6802ce45a7a8ab52f">gui.controls.listview.ListView.set_count</a></div><div class="ttdeci">def set_count</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00121">listview.py:121</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_ad7da537bd4818d5fbbeb278b0161341e"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ad7da537bd4818d5fbbeb278b0161341e">gui.controls.listview.ListModel.clear</a></div><div class="ttdeci">def clear</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00380">listview.py:380</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_ab2f5effe69dc112deaa9ae30eebb518c"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab2f5effe69dc112deaa9ae30eebb518c">gui.controls.listview.ListItem.focus</a></div><div class="ttdeci">def focus</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00427">listview.py:427</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html">gui.controls.listview.wx_ListCtrl</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00024">listview.py:24</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_adc708fd7ce0b1e630c31323f2b72287d"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#adc708fd7ce0b1e630c31323f2b72287d">gui.controls.listview.ListModel.__iter__</a></div><div class="ttdeci">def __iter__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00340">listview.py:340</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_a7fc18cf35910a5b5679e4d6053a8098a"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a7fc18cf35910a5b5679e4d6053a8098a">gui.controls.listview.ListItem.__setitem__</a></div><div class="ttdeci">def __setitem__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00396">listview.py:396</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_a3ee5690d00974beffffc3f5b1c89d40c"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a3ee5690d00974beffffc3f5b1c89d40c">gui.controls.listview.ListItem._list_model</a></div><div class="ttdeci">_list_model</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00392">listview.py:392</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html">gui.controls.listview.ListModel</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00295">listview.py:295</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a23e4429df1a2e0fe5ae75184bf14da40"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a23e4429df1a2e0fe5ae75184bf14da40">gui.controls.listview.ListView._set_items</a></div><div class="ttdeci">def _set_items</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00154">listview.py:154</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_a592c196116530a743f66295e7324046c"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a592c196116530a743f66295e7324046c">gui.controls.listview.ListModel.add</a></div><div class="ttdeci">def add</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00305">listview.py:305</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_afffd1a14d11d182e0e42972b74949b1f"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#afffd1a14d11d182e0e42972b74949b1f">gui.controls.listview.ListItem._select</a></div><div class="ttdeci">def _select</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00419">listview.py:419</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_ab7c04bcec4b5a10acdbd51a026f777f9"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ab7c04bcec4b5a10acdbd51a026f777f9">gui.controls.listview.ListItem.index</a></div><div class="ttdeci">def index</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00412">listview.py:412</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_ac0571c7577e9955a0e08997bacb66cfa"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ac0571c7577e9955a0e08997bacb66cfa">gui.controls.listview.ListView.view</a></div><div class="ttdeci">tuple view</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00186">listview.py:186</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_ad01904968cdf87210a2459918b692fd2"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#ad01904968cdf87210a2459918b692fd2">gui.controls.listview.ListModel.__call__</a></div><div class="ttdeci">def __call__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00331">listview.py:331</a></div></div>
<div class="ttc" id="namespacegui_1_1tools_1_1inspector_html"><div class="ttname"><a href="../../d4/d72/namespacegui_1_1tools_1_1inspector.html">gui.tools.inspector</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d7/da5/build_2lib_8linux-x86__64-2_87_2gui_2tools_2inspector_8py_source.html#l00001">inspector.py:1</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html">gui.controls.listview.ListView</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00099">listview.py:99</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_a63c994627bcb951456f987350fd9dccd"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#a63c994627bcb951456f987350fd9dccd">gui.controls.listview.ListModel._new_key</a></div><div class="ttdeci">def _new_key</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00343">listview.py:343</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_a1a8ceaeaf052a49163529cd2a57888e6"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#a1a8ceaeaf052a49163529cd2a57888e6">gui.controls.listview.ListItem._is_selected</a></div><div class="ttdeci">def _is_selected</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00416">listview.py:416</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_a98d747540d5b9c683494b0d5be6b6d4d"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#a98d747540d5b9c683494b0d5be6b6d4d">gui.controls.listview.wx_ListCtrl.SetPyData</a></div><div class="ttdeci">def SetPyData</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00064">listview.py:64</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_af2d3461e78f0b4b7f8c8790583eddb23"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#af2d3461e78f0b4b7f8c8790583eddb23">gui.controls.listview.ListModel.__delitem__</a></div><div class="ttdeci">def __delitem__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00325">listview.py:325</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_ac04ffbbd78365518cb7a7079556450db"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ac04ffbbd78365518cb7a7079556450db">gui.controls.listview.ListItem.__getitem__</a></div><div class="ttdeci">def __getitem__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00404">listview.py:404</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_af8d98356a30daf3289b86ca238f38ac2"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#af8d98356a30daf3289b86ca238f38ac2">gui.controls.listview.wx_ListCtrl._py_data_map</a></div><div class="ttdeci">_py_data_map</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00039">listview.py:39</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a0afe6c0297ea2256fdb51ff322fc49be"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a0afe6c0297ea2256fdb51ff322fc49be">gui.controls.listview.ListView.clear_all</a></div><div class="ttdeci">def clear_all</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00179">listview.py:179</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a40e051d0829b6db6fb9892ba1dd0ec6c"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a40e051d0829b6db6fb9892ba1dd0ec6c">gui.controls.listview.ListView._max_columns</a></div><div class="ttdeci">_max_columns</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00109">listview.py:109</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListModel_html_acee88714f0e5773b3aef89977ab90389"><div class="ttname"><a href="../../d8/d7f/classgui_1_1controls_1_1listview_1_1ListModel.html#acee88714f0e5773b3aef89977ab90389">gui.controls.listview.ListModel.__setitem__</a></div><div class="ttdeci">def __setitem__</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00302">listview.py:302</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1wx__ListCtrl_html_aa0479dabe2c0aa04a8b11ecdc58655ec"><div class="ttname"><a href="../../d8/dec/classgui_1_1controls_1_1listview_1_1wx__ListCtrl.html#aa0479dabe2c0aa04a8b11ecdc58655ec">gui.controls.listview.wx_ListCtrl._wx_data_map</a></div><div class="ttdeci">_wx_data_map</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00040">listview.py:40</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListColumn_html"><div class="ttname"><a href="../../d8/dcf/classgui_1_1controls_1_1listview_1_1ListColumn.html">gui.controls.listview.ListColumn</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00238">listview.py:238</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a7ed92455ca63639ee882267915453d64"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a7ed92455ca63639ee882267915453d64">gui.controls.listview.ListView.sort_order</a></div><div class="ttdeci">tuple sort_order</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00213">listview.py:213</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListItem_html_ad28150aec979ec4949a11a0d8086fe2e"><div class="ttname"><a href="../../df/d52/classgui_1_1controls_1_1listview_1_1ListItem.html#ad28150aec979ec4949a11a0d8086fe2e">gui.controls.listview.ListItem.key</a></div><div class="ttdeci">key</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00393">listview.py:393</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_ae0f8055cfae201d7ce4dd5e8a31c9244"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#ae0f8055cfae201d7ce4dd5e8a31c9244">gui.controls.listview.ListView._get_items</a></div><div class="ttdeci">def _get_items</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00151">listview.py:151</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_af0f59fd70b74aa90346c00f61d639ff3"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#af0f59fd70b74aa90346c00f61d639ff3">gui.controls.listview.ListView._items</a></div><div class="ttdeci">_items</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00160">listview.py:160</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1listview_1_1ListView_html_a480933bcaa8b198afe7f87603d6f2223"><div class="ttname"><a href="../../d1/d7f/classgui_1_1controls_1_1listview_1_1ListView.html#a480933bcaa8b198afe7f87603d6f2223">gui.controls.listview.ListView.append</a></div><div class="ttdeci">def append</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py_source.html#l00129">listview.py:129</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../dir_96a7eeec1342994a7cb0d7fe7902ae74.html">build</a></li><li class="navelem"><a class="el" href="../../dir_3740601ea11ece1a00f9273977396bc4.html">lib.linux-x86_64-2.7</a></li><li class="navelem"><a class="el" href="../../dir_5bcb0661a26d4ce62009196be9ab2e39.html">gui</a></li><li class="navelem"><a class="el" href="../../dir_4c91e8b673aaef7bf66ef8a4b005b30e.html">controls</a></li><li class="navelem"><a class="el" href="../../df/dd4/build_2lib_8linux-x86__64-2_87_2gui_2controls_2listview_8py.html">listview.py</a></li>
    <li class="footer">Generado el Domingo, 7 de Diciembre de 2014 18:59:47 para gui2py por
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
